نوشته شده توسط : افشین رفوآ

 اندروید و تکنیکهای برنامه نویسی در محیط نا منظم

 آموزش برنامه نويسي آندرويد

اصل و اساس برنامه نویسی اندروید بر پایه جاوا است. در این بین چندین و چند واژه وجود دارد که مختص خود اندروید است و در جاوا تعریف نشده است. از آنجا که – بعضی اوقات – یادگیری واژگان جدید باعث اعصاب خوردی! می شوند، تصمیم دارم به زبان ساده و خیلی مختصر مهمترین آنها را توضیح دهم. بدیهی است از آنجا که متن کاملاً تخصصی است منظور از زبان ساده، سادگی درک برای عموم افراد نیست بلکه منظور برنامه نویسان است.

اکتیویتی ها (Activities)

اکتیویتی، واسط گرافیکی است که کل صفحه نمایشگر را در اختیار بگیرد. اکتیویتی میتواند از چندین View تشکیل شده باشد یا به UI عملکرد مورد نیازش را بدهد. بعنوان مثال برنامه ارسال ایمیل. میتواند شامل دو اکتیویتی باشد. یکی شامل تمامی ایمیل هایی که دریافت کرده ایم، دیگری اکتیویتی که شامل محیط نوشتن ایمیل و ارسال آن باشد. هر دو اکتیوی به هم مربوط می باشند ولی عملکرد آنها کاملاً مستقل از یکدیگر است.

سرویس ها (Services)

یک سرویس در بک گراند (background) اجرا میشود و UI یا واسط کاربری ندارد. مثالی برای سرویس ها اطلاعی (notification) است که بوسیله زنگ و روشن شدن صفحه نمایشگر در زمان دریافت SMS یا ایمیل و یا زمانیکه کسی با ما تماس میگیرد، ارسال میشود.

Content providers (تامین کنندگان محتوا!)

از طریق Content provider ها دسترسی به تمامی اطلاعات ذخیره شده در گوشی – توسط برنامه های دیگر و یا برنامه ای که ما مینویسیم – امکان پذیر است. برای اینکه سایر برنامه ها بتوانند به اطلاعات دسترسی داشته باشند، معمولاً اطلاعات در فایل ها یا دیتابیس ذخیره میشوند.

Layout (قیافه!:) )

Layout ها شامل المانهای طراحی واسط کاربری هستند. هر زمانیکه یک فایل XML برای واسط کاربری ایجاد میکنیم، نیاز به Layout داریم تا طراحی ما را در خودش نگه دارد. در مورد Layout ها در نوشته های بعدی شرح ییشتری خواهم داد. پنج نوع Layout مختلف داریم که حتی میتوانند تو در تو بکار گرفته شوند.

View

View یک عضو مستقل (single object) در واسط کاربری است. View در داخل Layout قرار میگیرد و از ترکیب View ها ساده ترین تا پیچیده ترین واسط های گرافیکی و غیر گرافیکی کاربری ساخته میشود. بعنوان مثال، برچسب (Label) یک نوع View است. اندروید این قابلیت را دارد که ما طرحهای گرافیکی خود را بر اساس XML تولید کنیم و در قسمت کد صرفاً به عملکرد (functionality) برنامه بپردازیم و بدین سبب از پیچیدگی برنامه بکاهیم.

اتفاقات (Events)

Event ها اتفاقاتی هستند مانند کلیک کردن یا لمس کردن، که برای دریافت این اتفاقات متد Listener آن اتفاق باید تعریف شود. Event اتفاقی است که از بیرون رخ میدهد؛ چیزی است که کنترل آن دست ما نیست؛ یا حتی چیزیست که ما نمیدانیم کی اتفاق میافتد. بدین منظور کنترلر های اتفاق (Events controllers) مورد استفاده قرار میگیرند. این امکان وجود دارد که برای هر اتفاقی که رخ میدهد به سیستم بگوییم که چه کاری انجام دهد. معمول ترین اتفاق دریافت لمس صفحه نمایشگر است که برای دریافت آن Listener مورد نیاز باید تنظیم شود.

منابع (Resources)

منابع، المانهای خارجی هستند که ما در برنامه خود بکار  میگیریم. آنها در فولدر “res” ذخیره میشوند و میتوانند فایلهای تصویری، صوتی مانند عکس، فیلم، انیمیشن و موزیک باشند. همچنین فایلهای XML که شامل طراحی های پوسته، واسط کاربری و تم ها هستند، در این پوشه ذخیره میشوند. وقتی عملیات کامپایل انجام میشود، آنها بطور کامل از طریق کدهای جاوا قابل دسترسی هستند.

 

اولین پروژه

این پروژه از این نظر که تمام قسمت های مختلف را توضیح میدهد، مهم میباشد و کار را برای پروژه های بعدی راحتتر میکند. بدیهی است در این مقاله خیلی کلی راجع به قسمت های مختلف توضیح داده خواهد شد و برای توضیحات بیشتر لطفاً به کتابهای آموزش برنامه نویسی اندروید مراجعه کنید.

اگر تاکنون مقاله های “شروع کار برای برنامه نویسی اندروید” و “تنظیم ماشین مجازی اندروید (AVD)” و “بررسی چند واژه مهم اندروید” را مطالعه نکرده اید، لطفاً این مقاله را بخوانید. همچنین درصورتیکه SDK اندروید را ندارید لطفاً آنرا از صفحه “دانلود اندروید SDK 2.3” دانلود کنید.

حالا که همه چیز آماده است لطفاً برنامه اکلیپس خود را اجرا کنید، با رفتن به File>New>Project یک پنجره باز میشود، در فولدر Android بر روی Android Project کلیک کنید (در حالت انتخاب قرار میگیرد)، و سپس بر روی دکمه Next کلیک کنید. پنجره جدیدی با نام New Android Project نشان داده میشود. تنظیمات اولیه پروژه در این پنجره انجام میشود.

۱) برای نمونه در قسمت Project Name (اولین فیلد) نام MyNewProject را وارد کنید.

۲) در قسمت Build Target معلوم میکنیم برای کدام ورژن از اندروید میخواهیم برنامه بنویسیم. در مربع کنار Android 2.3 تیک بزنید.

۳) در قسمت Application Name نام پروژه را مجدد وارد کنید (MyNewProject).

4) در قسمت Package Name نام پکیج مورد نظرتان را وارد کنید. بعنوان نمونه com.kamalan.MyNewProject . نام پکیج از این نظر بسیار مهم است که شما میتوانید در برنامه های مختلفی که در این پکیج مینویسید به همدیگر دسترسی داشته باشید. دقت کنید برای بار اول نام پکیجی را برای خودتان بسازید که دیگر نیاز به عوض کردن نداشته باشد. اندروید به این نام بسیار حساس است و اگر دو برنامه دو نام پکیج مختلف داشته باشند، بهم دیگر دسترسی نخواهند داشت، مگر در حالت Content Provider که انشالله بعداً مفصل راجع به آن بحث خواهد شد.

۵) در قسمت Create Activity هم نام پروژه را وارد کنید (MyNewProject).

6) عدد ۳ را در Min SDK Version وارد کنید. عدد ۳ معرف حداقل سطح APIی است که برنامه شما میتواند بر روی آن اجرا شود. اگر فرضاً شما عدد ۸ را وارد کنید به اندروید میگویید که برنامه فقط قابل اجرا بر روی سیستم عاملهایی است که حداقل API Leve 8 باشند. بنابراین برنامه شما بر روی سیستم عاملهای پایینتر (در این حالت خاص گوشی های قدیمی) قابل اجرا نخواهد بود.

در پایان بر روی دکمه Finish کلیک کنید.

حال مجدداً به برنامه Eclipse وارد میشوید و نام پروژه خود را در پنل Package Workspace به همراه کلی فایل دیگه ۸) مشاهده خواهید کرد. و حالا توضیح کلی این فایلها.

۱) در قسمت src لیست تمام کلاسها و اکتیویتی هایی که تاکنون ساخته اید، نمایش داده خواهد شد.

۲) در این قسمت فایلی با نام R.java وجود دارد که بسیار مهم می باشد. در این فایل شماره هگزادسیمالی ۳۲ بیتی به هر نام و فایلی که قرار است در برنامه استفاده شود، بطور خودکار اختصاص داده خواهد شد. لطفاً این فایل را دست کاری نکنید. در اکلیپس با وارد کردن هر فایل (مثلاً یک عکس) یا نام یک رشته (String) یک آدرس هگز در این فایل ایجاد میشود. در نت بینز تا بر روی کامپایل کلیک نکنید، آدرسی اختصاص داده نمیشود.

۳) با این قسمت کاری نداریم. در این قسمت سورس تمام کتابخانه های موجود در اندروید قرار گرفته است.

۴) در فولدر assets میتوانیم فایلهای صوتی و تصویری را ذخیره کنیم تا در برنامه از آنها استفاده کنیم.

نکته: مدریت فایل بر روی این فولدر انجام نخواهد شد. بدین معنی که انروید به این فایلها آدرسی در R.java اختصاص نخواهد داد. و همچنین تصاویری که در این فولدر قرار میگیرند بدون هیچ دستکاری در برنامه مورد استفاده قرار میگیرند. توضیح بیشتر اینکه مدریت فایل برای کم کردن حجم برنامه تصاویری که در فولدر res قرار دارند را فشرده خواهد کرد بنابراین محتوای عکس (از نظر کیفیت) تغییر خواهد کرد ولی تصاویری که در فولدر assets قرار میگیرند بدون دستکاری باقی خواهند ماند.

۵) در این فولدر نیز مانند فولدر assets میتوانیم فایلهای صوتی و تصویری را قرار دهیم. به هر فایلی که در این فولدر قرار گیرد آدرسی خاص در R.java اختصاص داده خواهد شد.

سه فولدر drawable ملاحظه میکنید که برای ذخیره تصاویر مانند آیکون در سایزهای مختلف است. برای اطلاعات بیشتر راجع به استانداردی که اندروید قرار داده است (البته اجباری نیست!) به صفحه “Icon Design” مراجعه کنید.

فولدر بعدی layout نام دارد. در این فولدر ظاهر گرافیکی تمام صفحات را در فرمت XML تعریف میکنیم. البته در برنامه هم بصورت برنامه نویسی میشود این کار را انجام داد ولی حسن بزرگ اینکار این است که با جدا کردن طراحی ظاهر گرافیکی از قسمت برنامه، باعث کاهش پیچیدگی های برنامه نویسی خواهد شد.

در فولدر آخر values باز هم فایلهای xml قرار میگیرد. این فایلها به تعریف نام های مختلف مانند نام برنامه، رنگ، اندازه فونت و …  پرداخته میشود.

۶) فایل AndroidManifest.xml فایل بسیار مهمی است که اطلاعات مربوط به پروژه را در خودش نگهداری میکند. اطلاعاتی مانند نام پروژه، ورژن پروژه، تعداد اکتیویتی ها، فیلترها، احیاناً API های گوگل اگر در برنامه استفاده شده باشد مانند API مربوط به موقعیت بر روی نقشه و انواع دسترسی ها به منابع سیستم عامل. در مقاله ای مجزا به تعریف کامل مانیفیست خواهیم پرداخت.

اینها توضیحات بسیار کلی بود راجع به روند ایجاد پروژه بر مبنای اندروید در اکلیپس و توضیح فایلهایی که توسط اکلیپس ساخته میشود. حالا به برنامه ای که توسط اکلیپس ساختید مراجعه کنید و یک یک فایلها را مورد بررسی قرار دهید.

src>MyNewProject.java فایل اصلی یا بهتر بگویم اولین اکتیویتی است (اگر راجع به اکتیویتی چیزی نمیدانید به اینجا مراجعه کنید). با اجرای برنامه این فایل اجرا میشود. اگر این اکتیویتی را باز کنید، سورس برنامه را مشاهده خواهید کرد. در خط اول پکیج برنامه معرفی شده است (همان پکیجی که قبلاً معرفی کرده بودیم). سپس کلاسهای مختلفی که در برنامه مورد نیاز بوده است به برنامه import شده است. حالا به کلاس برنامه میرسیم که از کلاس Activity ارث برده است و شامل یک تابع با نام onCreate است. در مورد این تابع مفصل در مقاله ای که راجع به چرخه حیات برنامه (Application life cycle) اندروید است، صحبت خواهیم کرد.

setContentView(R.layout.main); وقتی برنامه به این خط میرسد، نوبت به اجرای گرافیک صفحه است که در layout>main.xml تعریف شده است. همانطور که گفتیم وقتی فایلی در فولدر res ایجاد میشود، مدیریت منابع آدرسی خاص به آن اختصاص میدهد. برای دسترسی به آدرس (بطور خاص در اینجا main) از R.layout.main استفاده شده است.

در قسمت res>layout>main.xml طرح گرافیکی صفحه نشان داده شده است. LinearLayout یکی از چهار حالت گرافیکی است که برای طراحی صفحه بکار گرفته شده است (بعداً در یک مقاله مفصل راجع به انواع layout ها صحبت خواهم کرد). در طراحی خطی هر المان بصری (مانند TextBox, EditBox در دلفی و ویژوال #C) در یک سطر قرار میگیرد. در این برنامه فقط یک TextView داریم که محتوای متنی که باید نشان دهد در res>values>strings.xml قرار گرفته است.

برای دیدن نتیجه برنامه بر روی ایمولاتور ابتدا باید AVD را راه اندازی کرد (اگر نمیدانید AVD چیست این مقاله را مطالعه کنید). برای اینکار در اکلیپس بر روی Window>Android SDK and AVD Mamager کلیک کنید. در پنجره ای که باز میشود یکی از ایمولاتورهایی را که ساخته اید، Start کنید.

بعد از چند ثانیه ایمولاتور بوت میشود و بالا می آید. حال در محیط اکلیپس دکمه را Run بزنید (میتوانید در قسمت Project Workspace بر روی نام پروژه خود راست کلیک کنید و از پنجره باز شده Run As>1 Android Application را کلیک کنید). حال میتوانید برنامه خود را بر روی ایمولاتور مشاهده کنید.

 

براي فراگيري كامل برنامه نويسي آندرويد بصورت كاربردي و تخصصي لطفا به لينك زير رجوع كنيد:

                                                آموزش آندرويد



:: برچسب‌ها: آموزش برنامه نویسی آندروید , آموزش آندروید , آموزش android , آموزش اندروید , اموزش آندروید , اموزش برنامه نويسي , آموزشگاه برنامه نويسي , آموزش برنامه نويسي , آموزشگاه برنامه نویسی در تهران , آموزش کامل برنامه نویسی , آموزشگاه برنامه نويس , اموزش برنامه نويسي در تهران ,
:: بازدید از این مطلب : 224
|
امتیاز مطلب : 2
|
تعداد امتیازدهندگان : 2
|
مجموع امتیاز : 2
تاریخ انتشار : پنج شنبه 23 آذر 1391 | نظرات ()
نوشته شده توسط : افشین رفوآ

آموزشگاه تحلیل  داده از سال 1380 تاکنون به عنوان یک آموزشگاه تخصصی در حوزه آموزش برنامه نویسی، بانکهای اطلاعاتی، نرم افزار و شبکه فعال است. خط مشی روشن آموزشگاه در ارایه آموزشهای اصولی، کاربردی، تخصصی و متناسب با نیاز روز و همچنین بهره مندی از اساتید با دانش و خبره باعث شده است این موسسه در زمره موسسات آموزشی حرفه ای ایران قرار گیرد.
 


:: برچسب‌ها: آموزشگاه برنامه نویسی در تهران , آموزش برنامه نویسی , آموزشگاه برنامه نویسی , آموزش برنامه نويس , آموزش سي شارپ , آموزش ASP , NET , آموزش ++C , آموزش طراحی سایت , آموزش SQL Server , آموزش C# , آموزش برنامه نویسی جاوا , آموزش برنامه نویسی آندروید , آموزش PHP , آموزش جوملا , آموزش RUP ,
:: بازدید از این مطلب : 1439
|
امتیاز مطلب : 5
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1
تاریخ انتشار : یک شنبه 25 دی 1398 | نظرات ()

صفحه قبل 1 2 3 4 صفحه بعد